home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Revista CD Expert 32
/
CD Expert nº 32.iso
/
Army Men TiS
/
data1.cab
/
Required_Files
/
rules
/
koth.txt
< prev
next >
Wrap
Text File
|
1999-10-08
|
5KB
|
153 lines
//////////////////////////////////////////////////////////////////////////////
// Section common to all game types
//////////////////////////////////////////////////////////////////////////////
include common.txt
include ffire.txt
//////////////////////////////////////////////////////////////////////////////
// King of the hill specific section
//////////////////////////////////////////////////////////////////////////////
variable ownHillBonus 10
// 0 = no owner, 1 = green, 2 = tan, 3 = blue, 4 = grey
variable hillowner 0
variable oldhillowner 0
// @1 = color, @2 = Capitalized color (e.g. "Green"), @3 is value for hillowner,
// @4-6 are other colors
macro koth_macro 6
{
variable @1onhill 0
// these pairs of variables are used to prevent sarge leaving and returning to the hill within
// 1 second and scoring at a double rate
variable @1GainsHillCount 0
variable @1KeepsHillCheck 0
pad @1hill 20 @1sarge1
// for colors in game set the markers to be squares on stratmap
if startup1 testvar iscoloringame @1 > 0 then
setitemflag @1mark1 stratsquare 1,
setitemflag @1mark2 stratsquare 1,
setitemflag @1mark3 stratsquare 1,
setitemflag @1mark4 stratsquare 1,
setitemflag @1mark5 stratsquare 1,
setitemflag @1mark6 stratsquare 1,
setitemflag @1mark7 stratsquare 1,
setitemflag @1mark8 stratsquare 1
// check for @1 sarge owning the hill
if padon @1hill then
setvar @1onhill 1,
trigger check@1ownshill
if padoff @1hill then
setvar @1onhill 0,
trigger @1offhill
if killed @1sarge1 then
setvar @1onhill 0,
trigger @1offhill
if @1offhill testvar hillowner = @3 then
removescoresymbol @1 king,
setvar hillowner 0,
trigger hillOwnerChanged,
trigger check@4ownshill,
trigger check@5ownshill,
trigger check@6ownshill
if check@1ownshill testvar @1onhill = 1 and hillowner = 0 then
setvar hillowner @3,
trigger hillOwnerChanged,
showmessage "@2 is king of the hill",
addscoresymbol @1 king,
addvar @1GainsHillCount 1,
triggerdelay 3000 check@1scoresinitial
if check@1scoresinitial then
addvar @1KeepsHillCheck 1
if check@1scoresinitial testvar hillowner = @3 then
trigger check@1scores
if check@1scores testvar hillowner = @3 and @1KeepsHillCheck = @1GainsHillCount then
addvar @1score ownHillBonus,
playsound "mp_tick.wav" (0,0) 2 3,
trigger check@1wins,
triggerdelay 3000 check@1scores
// update the flags to display the owner of the hill
if hillOwnerChanged testvar oldhillowner = @3 then
undeploy @1mark1,
undeploy @1mark2,
undeploy @1mark3,
undeploy @1mark4,
undeploy @1mark5,
undeploy @1mark6,
undeploy @1mark7,
undeploy @1mark8,
setitemflag @1mark1 strategic 0,
setitemflag @1mark2 strategic 0,
setitemflag @1mark3 strategic 0,
setitemflag @1mark4 strategic 0,
setitemflag @1mark5 strategic 0,
setitemflag @1mark6 strategic 0,
setitemflag @1mark7 strategic 0,
setitemflag @1mark8 strategic 0,
setvar oldhillowner hillowner,
trigger showNewHillOwner
if showNewHillOwner testvar hillowner = @3 then
deploy @1mark1,
deploy @1mark2,
deploy @1mark3,
deploy @1mark4,
deploy @1mark5,
deploy @1mark6,
deploy @1mark7,
deploy @1mark8,
setitemflag @1mark1 strategic 1,
setitemflag @1mark2 strategic 1,
setitemflag @1mark3 strategic 1,
setitemflag @1mark4 strategic 1,
setitemflag @1mark5 strategic 1,
setitemflag @1mark6 strategic 1,
setitemflag @1mark7 strategic 1,
setitemflag @1mark8 strategic 1
}
expand koth_macro ( green "Green" 1 tan blue grey )
expand koth_macro ( tan "Tan" 2 blue grey green )
expand koth_macro ( blue "Blue" 3 grey green tan )
expand koth_macro ( grey "Grey" 4 green tan blue )
if hillOwnerChanged testvar oldhillowner = 0 then
setvar oldhillowner hillowner,
trigger showNewHillOwner
// whenever hillowner changes create explosions to make flags appear/dissapper in a
// puf of smoke
if hillOwnerChanged then
createexplosion greenmark1 128 0 green,
createexplosion greenmark2 128 0 green,
createexplosion greenmark3 128 0 green,
createexplosion greenmark4 128 0 green,
createexplosion greenmark5 128 0 green,
createexplosion greenmark6 128 0 green,
createexplosion greenmark7 128 0 green,
createexplosion greenmark8 128 0 green
// if there is a new hill owner then play one sound
if showNewHillOwner testvar hillowner <> 0 then
playsound "mp_own.wav" (0,0) 1 2
// if the hill is now empty play a different sound
//if showNewHillOwner testvar hillowner = 0 then
// playsound "mp_koth2.wav" 0 1